Vehicle inspection systems and methods

ABSTRACT

Example vehicle inspection systems and methods are described. In one implementation, a method activates an unmanned aircraft inside a vehicle to capture images of the vehicle interior. The method accesses a flight path for the unmanned aircraft and receives data associated with the vehicle&#39;s current movement. The method adjusts the flight path of the unmanned aircraft to compensate for the vehicle&#39;s current movement.

TECHNICAL FIELD

The present disclosure relates to vehicular systems and, moreparticularly, to systems and methods that inspect the interior of avehicle.

BACKGROUND

Automobiles and other vehicles provide a significant portion oftransportation for commercial, government, and private entities.Vehicles, such as autonomous vehicles, drive on roadways, parking lots,and other areas when transporting passengers or objects from onelocation to another. An example application of autonomous vehicles isoperating as a taxi or shuttle service that picks up one or morepassengers in response to a transportation request. When operating as ataxi or shuttle service, the autonomous vehicle drives to a pickuplocation such that a passenger requesting the service can enter thevehicle. The vehicle then drives to a destination and allows thepassenger to exit the vehicle. Before picking up another passenger, itis preferable that the vehicle interior is clean for the next passenger.

BRIEF DESCRIPTION OF THE DRAWINGS

Non-limiting and non-exhaustive embodiments of the present disclosureare described with reference to the following figures, wherein likereference numerals refer to like parts throughout the various figuresunless otherwise specified.

FIG. 1 is a block diagram illustrating an embodiment of a vehiclecontrol system that includes a vehicle inspection system.

FIG. 2 is a block diagram illustrating an embodiment of a vehicleinspection system.

FIG. 3 illustrates an embodiment of a vehicle with multiple interiorcameras and an unmanned aircraft inside the vehicle.

FIG. 4 illustrates an embodiment of a method for inspecting an interiora vehicle using an unmanned aircraft.

FIG. 5 illustrates an embodiment of a method for adjusting a flight pathof an unmanned aircraft.

FIG. 6 illustrates an embodiment of a method for detecting a stain ortrash in a vehicle.

FIG. 7 illustrates an embodiment of a vehicle interior with a unmannedaircraft inside the vehicle.

FIG. 8 is a block diagram illustrating an embodiment of an unmannedaircraft.

DETAILED DESCRIPTION

In the following disclosure, reference is made to the accompanyingdrawings, which form a part hereof, and in which is shown by way ofillustration specific implementations in which the disclosure may bepracticed. It is understood that other implementations may be utilizedand structural changes may be made without departing from the scope ofthe present disclosure. References in the specification to “oneembodiment,” “an embodiment,” “an example embodiment,” etc., indicatethat the embodiment described may include a particular feature,structure, or characteristic, but every embodiment may not necessarilyinclude the particular feature, structure, or characteristic. Moreover,such phrases are not necessarily referring to the same embodiment.Further, when a particular feature, structure, or characteristic isdescribed in connection with an embodiment, it is submitted that it iswithin the knowledge of one skilled in the art to affect such feature,structure, or characteristic in connection with other embodimentswhether or not explicitly described.

Implementations of the systems, devices, and methods disclosed hereinmay comprise or utilize a special purpose or general-purpose computerincluding computer hardware, such as, for example, one or moreprocessors and system memory, as discussed herein. Implementationswithin the scope of the present disclosure may also include physical andother computer-readable media for carrying or storingcomputer-executable instructions and/or data structures. Suchcomputer-readable media can be any available media that can be accessedby a general purpose or special purpose computer system.Computer-readable media that store computer-executable instructions arecomputer storage media (devices). Computer-readable media that carrycomputer-executable instructions are transmission media. Thus, by way ofexample, and not limitation, implementations of the disclosure cancomprise at least two distinctly different kinds of computer-readablemedia: computer storage media (devices) and transmission media.

Computer storage media (devices) includes RAM, ROM, EEPROM, CD-ROM,solid state drives (“SSDs”) (e.g., based on RAM), Flash memory,phase-change memory (“PCM”), other types of memory, other optical diskstorage, magnetic disk storage or other magnetic storage devices, or anyother medium which can be used to store desired program code means inthe form of computer-executable instructions or data structures andwhich can be accessed by a general purpose or special purpose computer.

An implementation of the devices, systems, and methods disclosed hereinmay communicate over a computer network. A “network” is defined as oneor more data links that enable the transport of electronic data betweencomputer systems and/or modules and/or other electronic devices. Wheninformation is transferred or provided over a network or anothercommunications connection (either hardwired, wireless, or a combinationof hardwired or wireless) to a computer, the computer properly views theconnection as a transmission medium. Transmissions media can include anetwork and/or data links, which can be used to carry desired programcode means in the form of computer-executable instructions or datastructures and which can be accessed by a general purpose or specialpurpose computer. Combinations of the above should also be includedwithin the scope of computer-readable media.

Computer-executable instructions comprise, for example, instructions anddata which, when executed at a processor, cause a general purposecomputer, special purpose computer, or special purpose processing deviceto perform a certain function or group of functions. The computerexecutable instructions may be, for example, binaries, intermediateformat instructions such as assembly language, or even source code.Although the subject matter is described in language specific tostructural features and/or methodological acts, it is to be understoodthat the subject matter defined in the appended claims is notnecessarily limited to the described features or acts described herein.Rather, the described features and acts are disclosed as example formsof implementing the claims.

Those skilled in the art will appreciate that the disclosure may bepracticed in network computing environments with many types of computersystem configurations, including, an in-dash vehicle computer, personalcomputers, desktop computers, laptop computers, message processors,hand-held devices, multi-processor systems, microprocessor-based orprogrammable consumer electronics, network PCs, minicomputers, mainframecomputers, mobile telephones, PDAs, tablets, pagers, routers, switches,various storage devices, and the like. The disclosure may also bepracticed in distributed system environments where local and remotecomputer systems, which are linked (either by hardwired data links,wireless data links, or by a combination of hardwired and wireless datalinks) through a network, both perform tasks. In a distributed systemenvironment, program modules may be located in both local and remotememory storage devices.

Further, where appropriate, functions described herein can be performedin one or more of: hardware, software, firmware, digital components, oranalog components. For example, one or more application specificintegrated circuits (ASICs) can be programmed to carry out one or moreof the systems and procedures described herein. Certain terms are usedthroughout the description and claims to refer to particular systemcomponents. As one skilled in the art will appreciate, components may bereferred to by different names. This document does not intend todistinguish between components that differ in name, but not function.

It should be noted that the sensor embodiments discussed herein maycomprise computer hardware, software, firmware, or any combinationthereof to perform at least a portion of their functions. For example, asensor may include computer code configured to be executed in one ormore processors, and may include hardware logic/electrical circuitrycontrolled by the computer code. These example devices are providedherein purposes of illustration, and are not intended to be limiting.Embodiments of the present disclosure may be implemented in furthertypes of devices, as would be known to persons skilled in the relevantart(s).

At least some embodiments of the disclosure are directed to computerprogram products comprising such logic (e.g., in the form of software)stored on any computer useable medium. Such software, when executed inone or more data processing devices, causes a device to operate asdescribed herein.

FIG. 1 is a block diagram illustrating an embodiment of a vehiclecontrol system 100 within a vehicle that includes a vehicle inspectionsystem 104. An automated driving/assistance system 102 may be used toautomate or control operation of a vehicle or to provide assistance to ahuman driver. For example, the automated driving/assistance system 102may control one or more of braking, steering, seat belt tension,acceleration, lights, alerts, driver notifications, radio, vehiclelocks, or any other auxiliary systems of the vehicle. In anotherexample, the automated driving/assistance system 102 may not be able toprovide any control of the driving (e.g., steering, acceleration, orbraking), but may provide notifications and alerts to assist a humandriver in driving safely. Vehicle control system 100 includes vehicleinspection system 104 that interacts with various components in thevehicle to inspect the vehicle's interior for stains, dirt, trash, andother items inside the vehicle. Although vehicle inspection system 104is shown as a separate component in FIG. 1, in alternate embodiments,vehicle inspection system 104 may be incorporated into automateddriving/assistance system 102 or any other vehicle component.

Vehicle control system 100 also includes one or more sensorsystems/devices for detecting a presence of nearby objects (orobstacles) or determining a location of a parent vehicle (e.g., avehicle that includes vehicle control system 100). For example, vehiclecontrol system 100 may include one or more Radar (Radio detection andranging) systems 106, one or more Lidar (Light detection and ranging)systems 108, one or more camera systems 110, a global positioning system(GPS) 112, and/or ultrasound systems 114. The one or more camera systems110 may include a rear-facing camera mounted to the vehicle (e.g., arear portion of the vehicle), a front-facing camera, and a side-facingcamera. Camera systems 110 may also include one or more interior camerasthat capture images of the vehicle's interior, such as dirt, trash,stains, and other objects inside the vehicle. Lidar systems 108 mayinclude one or more interior Lidar sensors that capture data associatedwith the area inside the vehicle. Vehicle control system 100 may includea data store 116 for storing relevant or useful data for navigation andsafety, such as map data, driving history, or other data. Vehiclecontrol system 100 may also include a transceiver 118 for wirelesscommunication with a mobile or wireless network, other vehicles,infrastructure, or any other communication system.

Vehicle control system 100 may include vehicle control actuators 120 tocontrol various aspects of the driving of the vehicle such as electricmotors, switches or other actuators, to control braking, acceleration,steering, seat belt tension, door locks, or the like. Vehicle controlsystem 100 may also include one or more displays 122, speakers 124, orother devices so that notifications to a human driver or passenger maybe provided. A display 122 may include a heads-up display, dashboarddisplay or indicator, a display screen, or any other visual indicator,which may be seen by a driver or passenger of a vehicle. Speakers 124may include one or more speakers of a sound system of a vehicle or mayinclude a speaker dedicated to driver or passenger notification.

It will be appreciated that the embodiment of FIG. 1 is given by way ofexample only. Other embodiments may include fewer or additionalcomponents without departing from the scope of the disclosure.Additionally, illustrated components may be combined or included withinother components without limitation.

In one embodiment, automated driving/assistance system 102 is configuredto control driving or navigation of a parent vehicle. For example,automated driving/assistance system 102 may control the vehicle controlactuators 120 to drive a path on a road, parking lot, driveway or otherlocation. For example, automated driving/assistance system 102 maydetermine a path based on information or perception data provided by anyof the components 106-118. A path may also be determined based on aroute that maneuvers the vehicle to avoid or mitigate a potentialcollision with another vehicle or object. The sensor systems/devices106-110 and 114 may be used to obtain real-time sensor data so thatautomated driving/assistance system 102 can assist a driver or drive avehicle in real-time.

FIG. 2 is a block diagram illustrating an embodiment of vehicleinspection system 104. As shown in FIG. 2, vehicle inspection system 104includes a communication manager 202, a processor 204, and a memory 206.Communication manager 202 allows vehicle inspection system 104 tocommunicate with other systems, such as automated driving/assistancesystem 102. Processor 204 executes various instructions to implement thefunctionality provided by vehicle inspection system 104, as discussedherein. Memory 206 stores these instructions as well as other data usedby processor 204 and other modules and components contained in vehicleinspection system 104.

Additionally, vehicle inspection system 104 includes an image processingmodule 208 that receives image data from one or more camera systems 110.Vehicle inspection system 104 may also receive images from an unmannedaircraft inside the vehicle. The unmanned aircraft includes one or morecameras to capture images of the interior of the vehicle. In particularimplementations, the unmanned aircraft includes at least one RGB (Red,Green, and Blue) camera and at least one IR (Infrared) camera. In someembodiments, the images captured by the unmanned aircraft's camera arewirelessly communicated to vehicle inspection system 104. The unmannedaircraft includes any type of aircraft or device capable of flight thatcan navigate without a human pilot on board. For example, an unmannedaircraft may be self-piloted (e.g., autonomous) or remotely controlledby another system or operator. In some implementations, the unmannedaircraft is a small drone, such as a nano drone, a mini drone, a microdrone, and the like. The unmanned aircraft, as discussed in greaterdetail below, is small enough to fly around the interior of the vehicle.In some embodiments, the unmanned aircraft can be stored within avehicle compartment (e.g., a glove box) when not in use. As used herein,the unmanned aircraft may also be referred to as an unmanned aerialvehicle (UAV), an unmanned aerial system, or an unmanned aerial device.

In some embodiments, image processing module 208 includes an imagemanagement algorithm or process that manages one or more clean imagesthat represent images of the vehicle interior when it is clean (e.g., nostains, dirt, trash, or other items in the vehicle). Additionally, imageprocessing module 208 may manage one or more additional images that arecaptured after a passenger has exited the vehicle. As discussed herein,these additional images (also referred to as “current images”) arecompared to the clean images to determine whether the vehicle interiorhas a stain, trash, dirt, or other item as a result of the passengertraveling in the vehicle.

Vehicle inspection system 104 also includes an image subtraction module210 that subtracts the additional images (e.g., the current images) fromthe clean images to identify differences between the images. Thesedifferences may represent stains, dirt, trash, or other items leftbehind by the previous passenger. An anomaly detection module 212identifies one or more anomalies based on an analysis of the differencesbetween the current images and the clean images. These anomalies mayinclude, for example, stains, dirt, trash, or other items left behind bythe previous passenger.

A flight path manager 214 controls the movement and flight path of theunmanned aircraft within the vehicle. In some embodiments, the unmannedaircraft may follow a pre-defined flight path that allows the unmannedaircraft's camera to capture images of the vehicle's interior to checkall areas for stains, dirt, trash, or other items. Flight path manager214 may communicate wirelessly with the unmanned aircraft to control theaircraft's path inside the vehicle. In some embodiments, flight pathmanager 214 also instructs the unmanned aircraft when to capture imagesof the vehicle's interior.

An adaptive flight controller 216 identifies movement of the vehiclewhile the unmanned aircraft is flying inside the vehicle and adjusts theaircraft's flight path, if necessary, to compensate for the movement ofthe vehicle. Additional details regarding adjusting the flight pathbased on vehicle movement are provided herein. A trash/stainclassification module 218 detects locations and types of stains, dirt,trash, and other items in the vehicle based on the captured images. Forexample, trash/stain classification module 218 analyzes the identifieddifferences between the current and clean images to classify the type oftrash or stain. For example, a particular anomaly may be classified as aliquid stain, a piece of trash, or a dirt on the floor or a seatingsurface.

A vehicle maintenance manager 220 manages the cleaning and maintenanceof the vehicle. For example, if a stain, dirt, trash, or other item isdetected in the vehicle after a passenger has exited the vehicle,vehicle maintenance manager 220 may determine whether the vehicle needsto be removed from service before accepting the next passenger. Ifcleaning is required, vehicle maintenance manager 220 may instructautomated driving/assistance system 102 to drive the vehicle to thenearest cleaning or service facility. Vehicle maintenance manager 220may consider the size or classification of the detected stain, dirt,trash, or other item when determining whether cleaning is required.Additionally, if cleaning is required, vehicle maintenance manager 220may determine what kind of cleaning is necessary.

FIG. 3 illustrates an embodiment of a vehicle 300 with multiple interiorcameras and an unmanned aircraft inside the vehicle. As shown in FIG. 3,vehicle 300 has four interior cameras 302, 304, 306, and 308. In someembodiments, cameras 302-308 are positioned and oriented in vehicle 300such that all seating surfaces (e.g., seat bottoms and seat backs) arein the field of view of at least one camera 302-308. Other areas of theinterior of vehicle 300, such as the vehicle floor, may also be in thefield of view of one or more cameras 302-308.

Additionally, an unmanned aircraft 310 is shown in FIG. 3 as flyinginside vehicle 300. As discussed herein, unmanned aircraft 310 includesone or more cameras (such as an RGB camera and an IR camera) thatcapture images of the interior of vehicle 300 as unmanned aircraft 310flies throughout the vehicle interior. Unmanned aircraft 310 can fly inany accessible area of the vehicle interior to capture images, which areanalyzed to identify dirt, stains, trash, and other objects in vehicle300. In some embodiments, unmanned aircraft 310 is activated to flythroughout the interior of vehicle 300 after one or more passengers haveexited vehicle 300. A vehicle compartment 312 provides a storagelocation for unmanned aircraft 310 when not in use. For example, vehiclecompartment 312 may be a glove box or other compartment in vehicle 300.In some embodiments, unmanned aircraft 310 is recharged while located invehicle compartment 312.

Although four interior cameras 302-308 are shown in FIG. 3, in alternateembodiments, vehicle 300 may have any number of interior cameraspositioned in various locations throughout the vehicle and aimed atdifferent angles. Additionally, although one unmanned aircraft 310 isshown in FIG. 3, in alternate embodiments, vehicle 300 may include anynumber of unmanned aircraft 310 flying inside the vehicle.

FIG. 4 illustrates an embodiment of a method 400 for inspecting aninterior a vehicle using an unmanned aircraft. Initially, a vehicleinspection system activates 402 an unmanned aircraft inside a vehicle.For example, when one or more passengers exit vehicle 300, unmannedaircraft 310 may be released from vehicle compartment 312 to inspect thevehicle's interior for stains, dirt, trash, or other objects left behindby the previous passenger. The unmanned aircraft maneuvers 404 aroundthe vehicle interior following a flight path to capture images of thevehicle interior. In some embodiments, the flight path allows thecameras on the unmanned aircraft to capture images of all relevantportions of the vehicle interior (e.g., all areas likely to have stains,dirt, trash, or other objects left behind by the previous passenger).

In some implementations, the unmanned aircraft maneuvers around thevehicle interior while the vehicle is driving to another location. Asthe unmanned aircraft maneuvers around the vehicle interior, the vehicleinspection system receives 406 data associated with the vehicle'scurrent movement. The data associated with the vehicle's currentmovement includes, for example, data regarding acceleration of thevehicle, deceleration of the vehicle, or turning of the vehicle(including the direction of the turn). The vehicle inspection systemthen determines 408 whether the unmanned aircraft's flight path needs tobe adjusted based on the vehicle's current movement. Movement of thevehicle can alter the unmanned aircraft's flight path because vehiclemovement can cause the air in the vehicle to move which can “push” theunmanned aircraft in different directions. For example, if a vehicledecelerates, the air inside the vehicle moves forward (e.g., toward thefront of the cabin). This forward movement of the air may “push” theunmanned aircraft forward because the unmanned aircraft is in the airflow that's moving toward the front of the vehicle. Other vehiclemovements can “push” the unmanned aircraft in different directions. Forexample, acceleration of the vehicle may “push” the unmanned aircrafttoward the back of the vehicle cabin, and turns to the right or left may“push” the unmanned aircraft to the right or left side of the vehiclecabin, respectively. Additional details regarding how the systemdetermines 408 whether to adjust the flight path are discussed hereinand in particular with respect to FIG. 5.

If a flight path adjustment is necessary 410, the vehicle inspectionsystem adjusts 412 the unmanned aircraft's flight path to compensate forthe vehicle's current movement. The flight path adjustment is importantto prevent the unmanned aircraft from flying into a seat, window, orother vehicle surface. Also, to ensure the unmanned aircraft iscapturing images from pre-defined locations, the unmanned aircraft needsto follow the pre-defined flight plan. In some embodiments, the vehicleinspection system communicates the adjusted flight path to the unmannedaircraft via a wireless communication link. If no flight path adjustmentis necessary 410, the method determines whether the flight path iscomplete 414. If the flight path is not complete, the method returns to404 where the unmanned aircraft continues maneuvering around the vehicleinterior by following the flight path.

If the flight path is complete at 414, the unmanned aircraftcommunicates 416 the captured images to the vehicle inspection system.In some embodiments, the unmanned aircraft communicates the images tothe vehicle inspection system as the unmanned aircraft maneuvers aroundthe vehicle interior. For example, the unmanned aircraft may communicateimages to the vehicle inspection system as the images are captured bythe cameras mounted to the unmanned aircraft. Additionally, the unmannedaircraft returns to the vehicle compartment for storage and, in someembodiments, charging of a battery or other power source in the unmannedaircraft. Finally, the vehicle inspection system analyzes 418 thecaptured images to identify stains, dirt, trash, or other objects in thevehicle. Additional details regarding how the system identify stains,dirt, trash, or other objects in the vehicle are discussed herein and inparticular with respect to FIG. 6.

In some embodiments, the flight path of the unmanned aircraft can bemodified to avoid obstacles in the cabin of the vehicle and obtainadditional details regarding a particular portion of the vehicle'sinterior. For example, if an initial analysis of a captured imageindicates a stain, dirt, trash, or other object, the unmanned aircraftmay return to that location in the vehicle to take capture additionalimages, such as close-up images or images taken from a differentperspective to better analyze or classify the stain, dirt, trash, orother object. In some embodiments, the vehicle inspection systemcommunicates one or more of the captured images to a remote locationwith more powerful computing resources and/or human users who canfurther analyze the identify stains, dirt, trash, or other objects inthe vehicle, and determine what type of cleaning or vehicle service isneeded before picking up a new passenger.

FIG. 5 illustrates an embodiment of a method 500 for adjusting a flightpath of an unmanned aircraft. Initially, the vehicle inspection systemreceives 502 data associated with the vehicle's current movement. Asmentioned above, the vehicle's movement may include acceleration of thevehicle, deceleration of the vehicle, or turning of the vehicle(including the direction of the turn). In some embodiments, the systemsand methods discussed herein may also consider vehicle movement changesas the vehicle moves up or down a hill, or other roadway situation wherethe elevation of the vehicle is changing. The vehicle inspection systemdetermines 504 whether the vehicle is currently accelerating,decelerating or turning based on, for example, data from vehicle controlinputs (accelerator pedal, brake pedal), an accelerometer, a gyroscope,and the like. In some embodiments, the vehicle inspection systemdetermines 504 whether the vehicle is currently accelerating,decelerating or turning based on data from automated driving/assistancesystem 102. When driving in an autonomous mode, automateddriving/assistance system 102 can provide data regarding the inputsbeing provided to vehicle control actuators and other vehicle systemsthat indicate that the vehicle is (or will soon be) accelerating,decelerating or turning.

If the vehicle is not accelerating, decelerating or turning at 506, themethod returns to 504, where the vehicle inspection system continuesdetermining whether the vehicle is accelerating, decelerating orturning. In this situation, the vehicle may be considered to be in asteady state (i.e., not accelerating, decelerating or turning). If, at506, the vehicle is performing one or more movement (e.g., accelerating,decelerating, and/or turning), the vehicle inspection system determines508 a magnitude of the acceleration, deceleration, and/or turning. Thevehicle inspection system then identifies 510 appropriate unmannedaircraft flight path adjustments to compensate for the vehicle'sacceleration, deceleration, and/or turning. The amount of adjustmentneeded may vary depending on the magnitude of the acceleration,deceleration, and/or turning.

Method 500 continues as the vehicle inspection system adjusts 512 theunmanned aircraft's flight path based on the appropriate adjustmentsdetermined above. The vehicle inspection system communicates 514 theadjusted flight path to the unmanned aircraft via, for example, awireless communication link. The unmanned aircraft adjusts its operationbased on the adjusted flight path, which should allow the unmannedaircraft to more accurately follow its pre-defined flight path thatallows the unmanned aircraft's cameras to capture images of thevehicle's interior to check all areas for stains, dirt, trash, or otheritems. After communicating 514 the adjusted flight path to the unmannedaircraft, method 500 returns to 504 to continue determining whether thevehicle is accelerating, decelerating or turning.

In some embodiments, the unmanned aircraft is capable of independentlydetermining its location within the vehicle cabin. Although the unmannedaircraft may receive flight control (or flight path) instructions from avehicle inspection system (or other system), the unmanned aircraft candetermine its location within the vehicle based on visual cues from, forexample, images captured by the camera of the unmanned aircraft. In someembodiments, the visual cues are associated with predefined points orpredefined locations within the vehicle. When the unmanned aircraftidentifies one of these predefined points, the unmanned aircraft candetermine (or at least approximate) its location within the vehiclebased on the location of the predefined point within a captured imageand the known angle or perspective from which the unmanned aircraftcaptured that image. Example predefined points include objects or itemsthat generally have a fixed location, such as the steering wheel, acompany logo in the middle of the steering wheel, seat belt receivers,door handles, vents, head rests, and the like. In some implementations,the predefined points are specific markers or codes within the vehicle,such as bar codes, ArUco markers, and the like. Since the unmannedaircraft is moving within the vehicle, a technique such as “Structurefrom Motion” (SfM) can be used to estimate the unmanned aircraft'slocation within the vehicle. In some implementations, the unmannedaircraft uses one or more other sensors to assist in determining thelocation of the unmanned aircraft within the vehicle. In someembodiments, the unmanned aircraft communicates its current location toa vehicle inspection system, thereby allowing the vehicle inspectionsystem to confirm the location of the unmanned aircraft on the flightpath. If the unmanned aircraft is not on the correct flight path, anappropriate adjustment may be communicated from the vehicle inspectionsystem to the unmanned aircraft.

FIG. 6 illustrates an embodiment of a method 600 for detecting a stainor trash in a vehicle. Initially, the vehicle inspection system accesses602 one or more clean images associated with a clean vehicle interior.These clean images are captured when the vehicle has no stains, dirt,trash, or other items left in the vehicle. In some embodiments, theclean images are captured from a particular location and angle withinthe vehicle. For example, the clean images may be captured by one ormore cameras mounted at specific locations within the vehicle.Additionally, some (or all) of the clean images may be captured by anunmanned aircraft at specific locations along a flight path within thevehicle. The vehicle inspection system also receives 604 one or moreimages of the current vehicle interior (referred to as the “currentimages”). The current images may be captured by one or more camerasmounted in the vehicle and/or cameras mounted to the unmanned aircraftmaneuvering within the vehicle.

Method 600 continues as the vehicle inspection system subtracts 606 thecurrent images from the clean images. This subtraction processidentifies 608 differences between the current images and the cleanimages. These differences may represent stains, dirt, trash, or otherobjects left by a previous passenger. The vehicle inspection systemanalyzes 610 the differences between the current images and the cleanimages, and determines whether a stain, dirt, trash, or other item ispresent in the vehicle. In some embodiments, the analysis of thedifferences between the current images and the clean images identifiesone or more contours in the identified differences. The contoursinclude, for example, the outline of stains, dirt, trash, or otheritems. Based on the shape of the contour and the smoothness of thecontour edges, the vehicle inspection system determines the type ofstain, dirt, trash, or other item in the images. For example, if thecontour is substantially round with smooth edges, it is likely a stain.However, if the contour has an irregular shape and/or sharp/jaggededges, it is more likely to be a piece of trash or other item left inthe vehicle by a previous passenger. Based on the analysis anddetermination of a stain, dirt, trash, or other object, the methoddetermines 612 whether the vehicle should be taken out of service forcleaning. In particular, the method determines whether the vehicle needsto be cleaned before allowing another passenger to enter the vehicle.This determination regarding whether the vehicle needs to be cleaned mayinclude determining the size of the stain, dirt, trash, or other item.For example, a small piece of trash on the floor may not require vehiclecleaning, but a significant stain on the seat would likely requirecleaning of the vehicle.

If the vehicle needs to be taken out of service for cleaning 612, anappropriate cleaning of the vehicle is performed 614 before acceptingthe next passenger. This cleaning may be performed by a mobile cleaningservice or performed at a vehicle cleaning and/or servicing facilitydepending on the amount of cleaning necessary and the vehicle'sproximity to a mobile cleaning service and/or a cleaning/servicingfacility. After the vehicle is cleaned (or if the vehicle does not needcleaning), the vehicle is made available to pick up a new passenger andawaits instructions 616 to pick up the next passenger.

FIG. 7 illustrates an embodiment of a vehicle interior 700 with aunmanned aircraft 704 maneuvering inside the vehicle. Vehicle interior700 includes seating surfaces 702 and illustrates a stain 706 on one ofthe surfaces. As shown in FIG. 7, a camera mounted to unmanned aircraft704 captures an image of stain 706 and communicates the captured imageto a vehicle inspection system associated with the vehicle.

FIG. 8 is a block diagram illustrating an embodiment of unmannedaircraft 704. As shown in FIG. 8, unmanned aircraft 704 includes acommunication manager 802, a processor 804, and a memory 806.Communication manager 802 allows unmanned aircraft 704 to communicatewith other systems, such as automated driving/assistance system 102 andvehicle inspection system 104. Processor 804 executes variousinstructions to implement the functionality provided by unmannedaircraft 704, as discussed herein. Memory 806 stores these instructionsas well as other data used by processor 804 and other modules andcomponents contained in unmanned aircraft 704. Additionally, unmannedaircraft 704 includes an RGB camera 808 and an IR camera 810.

Unmanned aircraft 704 also includes an image capture module 812 thatcaptures images from RGB camera 808 and/or IR camera 810. As discussedherein, these captured images may be communicated to vehicle inspectionsystem 104 or other components or systems. A flight path module 814maintains information related to a pre-defined flight path that theunmanned aircraft 704 attempts to follow. In some embodiments, theflight path information is received from vehicle inspection system 104.A position determination module 816 determines a location of unmannedaircraft 704 within the vehicle. For example, position determinationmodule 816 may analyze visual cues contained in images captured by RGBcamera 808 and/or IR camera 810.

A rotor control module 818 controls the operation of multiple rotors 820associated with unmanned aircraft 704. In some embodiments, unmannedaircraft 704 has three or four rotors 820 that assist unmanned aircraft704 in flying throughout the vehicle. For example, rotor control module818 may control the rotational speed of each rotor 820 to steer andmaneuver unmanned aircraft 704 throughout the cabin of the vehicle.Thus, rotor control module 818 can assist in maneuvering unmannedaircraft 704 along a particular flight path, avoiding obstacles in thevehicle, and the like. In particular embodiments, one or more of thefunctions performed by rotor control module 818 are, instead, performedby vehicle inspection system 104, which sends appropriate rotor controlinstructions to rotor control module 818 for implementation.

In some embodiments, the adaptive flight control process discussedherein determines forces applied to unmanned aircraft 704 as a result ofvehicle movement (acceleration, deceleration, turning, etc.) and appliedvehicle controls (accelerator, brake, steering, etc.). Based on theforces applied to unmanned aircraft 704, rotor control module 818 canestimate the rotor speed necessary for each rotor to compensate for theapplied forces. Rotor control module 818 then adjusts the speed of eachof the multiple rotors to maintain unmanned aircraft 704 on a particularflight path.

In some embodiments, the systems and methods discussed herein are alsouseful in detecting interior vehicle damage, such as torn seatingsurfaces, broken trim pieces, hanging trim pieces, damaged arm rests,damaged seat belts, and the like.

While various embodiments of the present disclosure are describedherein, it should be understood that they are presented by way ofexample only, and not limitation. It will be apparent to persons skilledin the relevant art that various changes in form and detail can be madetherein without departing from the spirit and scope of the disclosure.Thus, the breadth and scope of the present disclosure should not belimited by any of the described exemplary embodiments, but should bedefined only in accordance with the following claims and theirequivalents. The description herein is presented for the purposes ofillustration and description. It is not intended to be exhaustive or tolimit the disclosure to the precise form disclosed. Many modificationsand variations are possible in light of the disclosed teaching. Further,it should be noted that any or all of the alternate implementationsdiscussed herein may be used in any combination desired to formadditional hybrid implementations of the disclosure.

1. A method comprising: activating an unmanned aircraft inside avehicle, wherein the unmanned aircraft includes a camera configured tocapture images of the vehicle interior; accessing, using one or moreprocessors, a flight path for the unmanned aircraft that captures imagesof specific portions of the vehicle interior; receiving data associatedwith the vehicle's current movement; and adjusting, using the one ormore processors, the flight path to compensate for the vehicle's currentmovement.
 2. The method of claim 1, wherein data associated with thevehicle's current movement includes at least one of vehicleacceleration, vehicle deceleration, and vehicle turns.
 3. The method ofclaim 1, further comprising: accessing a clean image associated with aclean vehicle interior; receiving, from the unmanned aircraft, a secondimage associated with the vehicle interior; identifying differencesbetween the clean image and the second image; and determining acleanliness of the vehicle interior based on the differences between theclean image and the second image.
 4. The method of claim 3, whereindetermining a cleanliness of the vehicle interior includes determiningwhether the vehicle interior includes at least one of a stain, dirt, ortrash.
 5. The method of claim 3, wherein determining a cleanliness ofthe vehicle interior based on the differences between the clean imageand the second image includes subtracting the second image from theclean image.
 6. The method of claim 1, wherein adjusting the flight pathto compensate for the vehicle's current movement includes receivingvehicle data including at least one of a vehicle speed, a vehicleacceleration, or a vehicle steering signal.
 7. The method of claim 1,wherein the unmanned aircraft is activated in response to a passengerexiting the vehicle.
 8. The method of claim 1, wherein the unmannedaircraft camera includes an RGB (Red, Green, and Blue) sensor and an IR(Infrared) sensor, and wherein both the RGB sensor and the IR sensor areconfigured to capture images of the vehicle interior.
 9. The method ofclaim 1, wherein the unmanned aircraft is one of a drone, a nano drone,a mini drone, or a micro drone.
 10. The method of claim 1, furthercomprising determining whether the vehicle interior needs to be cleanedbased on determining whether the vehicle interior includes at least oneof a stain, dirt, or trash.
 11. The method of claim 1, wherein adjustingthe flight path includes adjusting the speed of at least one rotor ofthe unmanned aircraft.
 12. The method of claim 1, wherein receiving dataassociated with the vehicle's current movement includes receiving dataassociated with activation of at least one of a vehicle brake,accelerator, or steering system.
 13. The method of claim 1, wherein thevehicle is an autonomous vehicle.
 14. A method comprising: activating anunmanned aircraft inside a vehicle, wherein the unmanned aircraftincludes a camera configured to capture images of the vehicle interior;determining, using one or more processors, a flight path for theunmanned aircraft that captures images of specific portions of thevehicle interior; receiving data associated with the vehicle's currentmovement; determining a necessary speed associated with each of aplurality of rotors of the unmanned aircraft to compensate for thevehicle's current movement; and adjusting the speed of at least one theplurality of rotors based on the determined necessary speed.
 15. Themethod of claim 14, wherein receiving data associated with the vehicle'scurrent movement includes receiving data associated with activation ofat least one of a vehicle brake, accelerator, or steering system. 16.The method of claim 14, further comprising determining whether thevehicle interior needs to be cleaned based on determining whether thevehicle interior includes at least one of a stain, dirt, or trash. 17.An apparatus comprising: a communication manager configured tocommunicate with an unmanned aircraft in a vehicle; a flight pathmanager configured to access a flight path for the unmanned aircraft;and an adaptive flight controller coupled to the communication managerand the flight path module, wherein the adaptive flight controller isconfigured to receive data associated with the vehicle's currentmovement, and wherein the adaptive flight controller is furtherconfigured to adjust the flight path to compensate for the vehicle'scurrent movement.
 18. The apparatus of claim 17, wherein the adaptiveflight controller is further configured to communicate the adjustedflight path to the unmanned aircraft.
 19. The apparatus of claim 17,further comprising an image processing module configured to: access aclean image associated with a clean vehicle interior; receive a secondimage associated with the current vehicle interior; identify differencesbetween the clean image and the second image; and determine acleanliness of the vehicle interior based on the differences between theclean image and the second image.
 20. The apparatus of claim 17, whereinthe data associated with the vehicle's current movement includes atleast one of a vehicle speed, a vehicle acceleration, or a vehiclesteering signal.